# 导入所需库
from langchain_core.prompts import PromptTemplate
from langchain_deepseek import ChatDeepSeek
import os
from dotenv import load_dotenv, find_dotenv

# 1、使用.env 存储api_key
load_dotenv()

# 2、实例化ChatDeepSeek
chat = ChatDeepSeek(
    model="deepseek-chat",
    temperature=0.5  # 可选参数，控制生成结果的随机性
)

# 3、定义提示词模板
prompt = (
    PromptTemplate.from_template("请简单介绍下{something}")
    + "要求:"
      "1. 使用{language}"
      "2. 格式简单。不要频繁回车"
)

# 4、流式调用并实时打印结果
print("开始流式输出：\n")
stream = chat.stream(prompt.format(something="《真实的谎言》", language="中文"))

for chunk in stream:
    # 打印每个流式响应的内容块，不换行实时输出
    print(chunk.content, end="", flush=True)

# 流结束后添加换行
print("\n\n流式输出结束")